home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / X11 / xsw / miscvbt.c < prev    next >
C/C++ Source or Header  |  1995-05-09  |  7KB  |  243 lines

  1. /*
  2.  *    @(#) miscvbt.c 12.1 95/05/09 SCOINC
  3.  */
  4. /***************************************************************************
  5.  *
  6.  *    Copyright (c) 1990-1993        The Santa Cruz Operation, Inc.
  7.  *
  8.  *    All rights reserved.  No part of this program or publication may be
  9.  *    reproduced, transmitted, transcribed, stored in a retrieval system,
  10.  *    or translated into any language or computer language, in any form or
  11.  *    by any means, electronic, mechanical, magnetic, optical, chemical,
  12.  *    biological, or otherwise, without the prior written permission of:
  13.  *
  14.  *        The Santa Cruz Operation , Inc.        (408) 425-7222
  15.  *        400 Encinal St., Santa Cruz, California 95060 USA
  16.  *
  17.  **************************************************************************/
  18. /*
  19.  * Modification History
  20.  *
  21.  * S001, 15-Sep-93, rickra
  22.  *    Added a XSetForeground for a line draw
  23.  *
  24.  * S000, 27-May-93
  25.  *        Checked into SCCS tree for the first time, no duh....
  26.  *
  27.  */
  28.  
  29. #include <X11/Xlib.h>
  30. #include <X11/Xutil.h>
  31. #include <X11/Intrinsic.h>
  32. #include <X11/Shell.h>
  33. #include <Xm/Xm.h>
  34. #include <Xm/MainW.h>
  35. #include <Xm/DrawingA.h>
  36.  
  37. #include "include/unixincs.h"
  38. #include "include/buttons.h"
  39. #include "include/xsw.h"
  40.  
  41.  
  42. static int      line_style = LineSolid;
  43. static int      cap_style = CapButt;
  44. static int      join_style = JoinMiter;
  45.  
  46. /*+-------------------------------------------------------------------------
  47.     draw_MiscVBT(SP,x,y)
  48. --------------------------------------------------------------------------*/
  49. void
  50. draw_MiscVBT (SP, x, y)
  51.      struct NetworkXswStruct *SP;
  52.      int             x;
  53.      int             y;
  54.  
  55. {
  56.   Window          window = SP -> SEPERATE_WINDOWS_LIST[BUTTON_tune_var].window;
  57.   Display        *display = SP -> SEPERATE_WINDOWS_LIST[BUTTON_tune_var].display;
  58.   GC              gc = SP -> SEPERATE_WINDOWS_LIST[BUTTON_tune_var].gc;
  59.   XWindowAttributes DrawAreaXYWH = SP -> SEPERATE_WINDOWS_LIST[BUTTON_tune_var].DrawAreaXYWH;
  60.   Pixmap          pixmap = SP -> SEPERATE_WINDOWS_LIST[BUTTON_tune_var].pixmap;
  61.   char            s80[80];
  62.   char            s256[256];
  63.   char            s1024[1024];
  64.   char           *temp_s;
  65.  
  66.   char           *cptr;
  67.   int             fwidth = FWIDTH;
  68.   int             fheight = FHEIGHT;
  69.   int             len;
  70.   int             x2 = x;
  71.   int             yl1 = y + (FASCENT / 2);
  72.   int             ys = y + FASCENT;
  73.   int             j = 0;
  74.   int             current_length = 0;
  75.   int             tab_count = 0;
  76.  
  77.  
  78.   /* the "background" bar */
  79.   XSetForeground (display, gc, colorTitleBarBG.pixel);
  80.   XSetLineAttributes (display, gc, fheight, line_style, cap_style, join_style);
  81. /*
  82.   XDrawLine (display, window, gc, x, yl1, x + (len * fwidth), yl1);
  83. */
  84.   XDrawLine (display, pixmap, gc, x, yl1,
  85.          SP -> SEPERATE_WINDOWS_LIST[BUTTON_tune_var].width, yl1);
  86.  
  87.   /* draw the black line before "Var" */
  88.   XSetForeground (display, gc, colorTitleBarFG.pixel);
  89.   XSetLineAttributes (display, gc, FASCENT / 2, line_style, cap_style, join_style);
  90. /*
  91.   XDrawLine (display, window, gc,
  92.          x2, yl1,
  93.          x2 + (len = (fwidth * 3)) - FGAP, yl1);
  94. */
  95.   XDrawLine (display, pixmap, gc,
  96.          x2, yl1,
  97.          x2 + (len = (fwidth * 3)) - FGAP, yl1);
  98.   x2 += len;
  99.  
  100.   /* draw "Var" */
  101.   cptr = "Boot String";
  102. /*
  103.   XDrawString (display, window, gc, x2, ys, cptr, len = strlen (cptr));
  104.   XDrawString (display, window, gc, x2 + 1, ys, cptr, len = strlen (cptr));
  105. */
  106.   XDrawString (display, pixmap, gc, x2, ys, cptr, len = strlen (cptr));
  107.   XDrawString (display, pixmap, gc, x2 + 1, ys, cptr, len = strlen (cptr));
  108.   x2 += fwidth * len;
  109.  
  110.   /* draw the black line after "string ...." */
  111. /*
  112.   XDrawLine (display, window, gc,
  113.          x2 + FGAP + 1, yl1,
  114.          x2 + (len = (fwidth * 10)), yl1);
  115. */
  116.   XDrawLine (display, pixmap, gc,
  117.          x2 + FGAP + 1, yl1,
  118.          x2 + SP -> SEPERATE_WINDOWS_LIST[BUTTON_tune_var].width, yl1);
  119.   y += fheight;
  120.  
  121.  
  122.   sprintf (s80, "%s", SP -> bootstring);
  123.  
  124. /*
  125.       XDrawString (display, window, gc, x,
  126.                y + FASCENT, s80, strlen (s80));
  127. */
  128.   XSetForeground (display, gc, colorLabel.pixel);
  129.   XDrawString (display, pixmap, gc, x,
  130.            y + FASCENT, s80, strlen (s80));
  131.  
  132.   y += fheight;
  133.  
  134.   yl1 = y + (FASCENT / 2);
  135.   ys = y + FASCENT;
  136.   x2 = x;
  137.  
  138.   /* the "background" bar */
  139.   XSetForeground (display, gc, colorTitleBarBG.pixel);
  140.   XSetLineAttributes (display, gc, fheight, line_style, cap_style, join_style);
  141. /*
  142.   XDrawLine (display, window, gc, x, yl1, x + (len * fwidth), yl1);
  143. */
  144.   XDrawLine (display, pixmap, gc, x, yl1,
  145.          SP -> SEPERATE_WINDOWS_LIST[BUTTON_tune_var].width, yl1);
  146.  
  147.   /* draw the black line before "Var" */
  148.   XSetForeground (display, gc, colorTitleBarFG.pixel);
  149.   XSetLineAttributes (display, gc, FASCENT / 2, line_style, cap_style, join_style);
  150. /*
  151.   XDrawLine (display, window, gc,
  152.          x2, yl1,
  153.          x2 + (len = (fwidth * 3)) - FGAP, yl1);
  154. */
  155.   XDrawLine (display, pixmap, gc,
  156.          x2, yl1,
  157.          x2 + (len = (fwidth * 3)) - FGAP, yl1);
  158.   x2 += len;
  159.  
  160.  
  161.   /* draw "Var" */
  162.   cptr = "Boot Configuration";
  163. /*
  164.   XDrawString (display, window, gc, x2, ys, cptr, len = strlen (cptr));
  165.   XDrawString (display, window, gc, x2 + 1, ys, cptr, len = strlen (cptr));
  166. */
  167.   XDrawString (display, pixmap, gc, x2, ys, cptr, len = strlen (cptr));
  168.   XDrawString (display, pixmap, gc, x2 + 1, ys, cptr, len = strlen (cptr));
  169.   x2 += fwidth * len;
  170.  
  171.   /* draw the black line after "string ...." */
  172. /*
  173.   XDrawLine (display, window, gc,
  174.          x2 + FGAP + 1, yl1,
  175.          x2 + (len = (fwidth * 10)), yl1);
  176. */
  177.   XDrawLine (display, pixmap, gc,
  178.          x2 + FGAP + 1, yl1,
  179.          x2 + SP -> SEPERATE_WINDOWS_LIST[BUTTON_tune_var].width, yl1);
  180.   y += fheight;
  181.  
  182.   XSetForeground (display, gc, colorLabel.pixel);
  183.  
  184.   cptr = "device    address       vector  dma     comment";
  185.   XDrawString (display, pixmap, gc, 0,
  186.            y + FASCENT, cptr, strlen (cptr));
  187.   y += fheight;
  188.  
  189.   cptr = "--------------------------------------------------------------------------------";
  190.   XDrawString (display, pixmap, gc, 0,
  191.            y + FASCENT, cptr, strlen (cptr));
  192.   y += fheight;
  193.  
  194.  
  195.  
  196. /*
  197.  * Need to parse the string and replace "TABS" with spaces... also
  198.  * we need to find end-of-lines.....
  199.  */
  200.  
  201.   temp_s = (char *) malloc (1024);
  202.  
  203.   strcpy (temp_s, "");
  204.  
  205.   for (j = 0; j < 1024; j++)
  206.     {
  207.       if (SP -> configuration_string[j] == 9)
  208.     {
  209.  
  210.       current_length = strlen (temp_s);
  211.       strncat (temp_s, "        ", (8 - (current_length % 8)) + tab_count);
  212.       tab_count++;
  213.  
  214.     }
  215.       else if (SP -> configuration_string[j] == 10)
  216.     {
  217.  
  218.       sprintf (s1024, "%s", temp_s);
  219.  
  220.       XDrawString (display, pixmap, gc, 0,
  221.                y + FASCENT, s1024, strlen (s1024));
  222.  
  223.       strcpy (temp_s, "");
  224.       tab_count = 0;
  225.       y += fheight;
  226.  
  227.     }
  228.       else
  229.     {
  230.       strncat (temp_s, &SP -> configuration_string[j], 1);
  231.       tab_count = 0;
  232.     }
  233.  
  234.     }
  235.   free (temp_s);
  236.  
  237.  
  238.  
  239. }                /* end of draw_Var */
  240.  
  241. /* vi: set tabstop=4 shiftwidth=4: */
  242. /* end of var.c */
  243.